const { get, post } = require('../utils/request')

/**
 * 获取通知列表（分页）
 * @param {Object} params 查询参数
 */
function getNoticeList(params = {}) {
  const { page = 1, size = 10, title = '' } = params

  // 构建请求参数，只查询已发布的通知
  const requestData = {
    pageNum: page,
    pageSize: size,
    status: 1 // 只查询已发布的通知
  }

  // 只有当title有值时才添加到参数中
  if (title && title.trim() !== '') {
    requestData.title = title.trim()
  }

  // 使用公开接口，不需要登录验证
  return post('/notice/public/list', requestData)
}

/**
 * 获取通知详情
 * @param {Number} id 通知ID
 */
function getNoticeDetail(id) {
  // 使用公开接口，不需要登录验证
  return get(`/notice/public/${id}`)
}

/**
 * 标记通知为已读
 * @param {Number} id 通知ID
 */
function markAsRead(id) {
  return post(`/notice/mark-read/${id}`)
}

/**
 * 获取未读通知数量
 */
function getUnreadCount() {
  return get('/notice/unread-count')
}

/**
 * 标记所有通知为已读
 */
function markAllAsRead() {
  return post('/notice/mark-all-read')
}

module.exports = {
  getNoticeList,
  getNoticeDetail,
  markAsRead,
  getUnreadCount,
  markAllAsRead
}
